The present invention generally relates to a video camera apparatus with employment of a solid-state imaging element. More specifically, the present invention is directed to a method and an apparatus suitable for electronically performing a zooming operation.
Conventionally, it has been known as a method for obtaining an electronically zooming image, that a picture or video signal outputted from a solid-state imaging element (referred to as a "sensor" hereinafter) is employed and an image is fitted to a desirable image size by newly adding pixels between the succeeding pixels in response to the zooming ratio and by dropping the pixel therefrom.
FIG. 1 is an explanatory diagram of a conventional technique such that when an enlargement process of 3/2 times is carried out, a weighted average is performed so as to achieve interpolation with better precision. FIG. 1(a) represents such a condition that pixel data on the luminance level every pixel in 1 horizontal scanning direction have been arranged as an example of no interplation. FIG. 1(b) indicates a timing pulse representative of a pixel corresponding position at 3/2 times. FIG. 1(c) represents such a state that image data which have been zoomed are arranged. The weighted average method according to the conventional technique will now be explained with reference to pixels "g.sub.1 " and "g.sub.2 " shown in FIG. 1(a). A timing pulse position signal "0" at a left end of FIG. 1(b) is separated from the image data g.sub.1, and g.sub.2 shown in FIG. 1(a) by m.sub.1 =0 and n.sub.1, respectively. Also, a timing pulse position signal "1" at a left end is separated from these image data g.sub.1, and g.sub.2 by m.sub.2 and n.sub.2, respectively. As a result, interpolation data "h.sub.0 " and "h.sub.1 " indicative of pixel density levels in the respective timing pulse position signals "0" and "1" are obtained by the following equation (1): ##EQU1## FIG. 1(c) represents a zooming result by 3/2 times by way of the above-described linear interpolation.
It should be noted that when being outputted as actual image data, the timing positions among these pixels shown in FIG. 1(c) are equal to the timing positions shown in FIG. 1(a) and synchronized thereto so as to be outputted, and then are displayed as pixel data in the horizontal scanning direction where pixel "h.sub.0 " at a left end of FIG. 1(c) through 2/3 pixels have been enlarged unless a starting pixel in the horizontal scanning direction is specifically designated.
In accordance with this conventional method, the image data on the zoomed image can be calculated in better precision. However, to calculate the image data, the multiplication must be performed twice and the subtraction must be carried out one time. When such a conventional calculation is implemented in hardware, a complex circuit arrangement is necessarily required with expensive cost.
To solve these drawbacks of the above-described conventional method, another conventional method has been proposed in JP-A-64-80168 by employing a simpler circuit arrangement and which can interpolate pixels with arbitrary function. With reference to FIG. 2 this conventional method employs a ROM 1309 for previously storing a function used to interpolate pixels and also a RAM 1304 capable of arbitrarily rewriting interpolation addresses in accordance with a zooming ratio. FIG. 2 is a schematic block diagram for implementing this conventional zooming method, and FIGS. 3A to 3C represent explanatory diagrams.
FIG. 3A represents inputted image data (g.sub.1 =95, g.sub.2 =5, g.sub.3 =17 and g.sub.4 =68); FIG. 3B represents data .gamma. for interpolating each division position i=0 to 3 in case of division number .gamma.=4; and FIG. 3C represents output data which has been interpolated.
In FIG. 2, the linear interpolation when continuous picture data are inputted is explained as follows. The pixels g.sub.1 .fwdarw.g.sub.2 .fwdarw.g.sub.3 are inputted into an input line 1301 shown in FIG. 2 and also pixels g.sub.2 .fwdarw.g.sub.3 .fwdarw.g.sub.4 positioned adjacent to these pixels are inputted into another input line 1302 in synchronization therewith, and image or picture data "h" which has been enlarged and interpolated as represented by an equation (2) is outputted: ##EQU2## where symbol INT { } is an integer obtained by rounding off values.
It should be noted that in the case when the zooming ratio of .beta./.alpha. of the image is set to 5/3 times and the dividing ratio .gamma. (integer) among the pixels is selected to be 4, an integer "i" indicative of a read address for the interpolation data is represented by 0.ltoreq.i&lt;.gamma., namely a value within a range of i=0 to 3. As a consequence for the pixels g.sub.1 to g.sub.4, data produced by interpolation corresponding to i=0 to 3 is equal to values obtained from the above-described equation (3), i.e., [0, -23, -45, -68, 0, 3, 6, 9, 0, 13, 26, 38, 0].
First, the read address "i" of the above-described interpolation data is set via a data input line 1305 from microcomputer and to the RAM 1304.
It should be understood that this read address is present in the range of i=0 to 3, as described above, and is equal to an integer determined by the following equation (4); ##EQU3## where symbol INT ( ) indicates an integer obtained by rounding off values, and symbol INT( )MDD.gamma. denotes a remainder of INT( )/.gamma.. An integer "k" corresponds to k=0 to (.beta.-1), namely 0 to 4. In the above case, i=0, 2, 1, 3, 2.
Subsequently, the pixel data g and g.sub.n+1 which have been inputted into the input lines 1301 and 1302 are inputted into the substracter 1306, a calculation on .DELTA.g=g.sub.n+1 -g.sub.n is performed, and then a calculation result is outputted to the output line 1307. On the other hand, in response to values of the counter 1308 which performs the counting operation in synchronism with the timings at which the interpolated pixels are outputted, values of "i" (i=0, 2, 1, 3, 2) derived from the RAM 1304 are sequentially read out, and are inputted as read addresses of the ROM 1309 in combination with the above-described pixel ".DELTA.g". As a result, the read data for interpolating the pixels correspond to each of i=0, 2, 1, 3, 2, and the increased data for interpolation [0, -45, 3, 9, 26] are successively read and then inputted into the adder 1310. On the other hand, in synchronism with this interpolated data, pixel data (g.sub.1 =95, g.sub.2 =5, g.sub.3 =17, g.sub.4 =68) which has been inputted from the input line 1301 are also inputted to the adder 1310, the calculation as defined by the equation (1) is performed, and then the calculation result is outputted to the output line 1303. As a consequence, the interpolated output data to the output line 1303 is expressed by formula (5): EQU [95, 95, 5, 5, 17]+[0, -45, 3, 9, 26]=(95, 50, 8, 14, 43] (5).
In the above-identified first item of prior art, there are problems with expensive hardware and complex circuitry. In the above-identified second item of prior art, these conventional problems could be solved by employing both RAM and ROM in simple hardware. However, this second item of prior art has another problem in that when the complex calculation is carried out with the RAM and ROM, the software becomes complex and a calculation speed is delayed.